-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add shr_dust_emis_mod to handle options for dust emissions between CTSM and CAM #429
Conversation
@fvitt I haven't got this working or tested yet in CTSM. But, I think this includes everything needed in this space. So if you could look it over and give feedback that would be great. I'll be working on completing this to bring this in the next month or so... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
Thanks
…o allows me to do unit-testing easier
…is_mod Conflicts: cesm/nuopc_cap_share/shr_dust_emis_mod.F90
Change check_if_initiatlized to logical function to help with unit testing.
Make the checking of options it's own subroutine to help with unit-testing.
This is ready to come in from my perspective at this point. I'm happy to hear about any changes or testing that I need to do with it though. And I figure this will have to wait until after the cesm3_0_beta01 freeze in case something is needed from CMEPS for the git fleximod update. |
Dust emissions control moved to cmeps Remove the dust emissions namelist items from CTSM and use the namelist in the drv_flds_in for CMEPS. This updates CTSM to use the namelist control in CMEPS (in ESCOMP/CMEPS#429). So the CMEPS external needs to be updated, and the namelist control in CTSM changed to use CMEPS rather than the internal CTSM control settings and the CTSM ones removed. The new XML variable: LND_SETS_DUST_EMIS_DRV_FLDS controls whether dust emission settings are set by CTSM or by CAM. Only one or the other can set them, and it's required so when CAM and CTSM are running together they need to know which one will select. This required some changes for LILAC. The drv_flds_in namelist file is now required for LILAC, and read for dust emissions (and dust emissions only) at the LILAC lnd_comp_esmf.F90 level. Add a unit test for the CMEPS code to make sure it's working correctly. This validates the code both for CAM and CTSM. Fix the cidinahoBR test in the build-namelist unit tester. Conflicts: bld/unit_testers/build-namelist_test.pl src/biogeophys/TemperatureType.F90
Dust emissions control moved to cmeps Remove the dust emissions namelist items from CTSM and use the namelist in the drv_flds_in for CMEPS. This updates CTSM to use the namelist control in CMEPS (in ESCOMP/CMEPS#429). So the CMEPS external needs to be updated, and the namelist control in CTSM changed to use CMEPS rather than the internal CTSM control settings and the CTSM ones removed. The new XML variable: LND_SETS_DUST_EMIS_DRV_FLDS controls whether dust emission settings are set by CTSM or by CAM. Only one or the other can set them, and it's required so when CAM and CTSM are running together they need to know which one will select. This required some changes for LILAC. The drv_flds_in namelist file is now required for LILAC, and read for dust emissions (and dust emissions only) at the LILAC lnd_comp_esmf.F90 level. Add a unit test for the CMEPS code to make sure it's working correctly. This validates the code both for CAM and CTSM. Fix the cidinahoBR test in the build-namelist unit tester.
Description of changes
Add a shared module for controlling how dust emissions are handled in CTSM and CAM.
This will allow us to use the current dust emission options, and also the new dust emissions
being developed.
This implements the design given for this work in:
https://docs.google.com/document/d/18nZ3LJF5W-YF9iBhqed6s_NWeKOvSSL2-k0Lye1nnLg/edit#heading=h.c1sjcqnqh1zs
Specific notes
Contributors other than yourself, if any: @fvitt
CMEPS Issues Fixed (include github issue #):
Fixes #353
Are changes expected to change answers? No
Any User Interface Changes (namelist or namelist defaults changes)?
Namelist items added the drv_fls_in namelist:
These will be set by either CAM or CTSM to control how dust emissions work.
Testing performed
None so far. But, will do standard testing in CTSM as well as any CMEPS test lists.
This shouldn't effect anything outside of CTSM and CAM, and even then only for
versions that use it.